Haptic device

ABSTRACT

One embodiment is an untethered, handheld, kinesthetic, haptic device that produces torque using gyroscopic precession to eliminate the need for a grounded surface. In particular, one embodiment is a haptic device that includes: (a) an angular momentum generator apparatus; and (b) a torque generator apparatus coupled to the angular momentum generator apparatus; wherein: (i) the angular momentum generator apparatus is capable of generating a predetermined angular momentum; and (ii) the torque generator apparatus is capable of applying a torque to cause the angular momentum generator apparatus to rotate about a direction perpendicular to the direction of the angular momentum.

This patent application relates to U.S. Provisional Application No. 62/310,765 filed Mar. 20, 2016 from which priority is claimed under 35 USC § 119(e), and which provisional application is incorporated herein in its entirety. This patent application also relates to U.S. Provisional Application No. 62/449,081 filed Jan. 22, 2017 from which priority is claimed under 35 USC § 119(e), and which provisional application is incorporated herein in its entirety.

TECHNICAL FIELD

One or more embodiments relate to haptic devices. In particular, one or more embodiments relate to an untethered haptic device utilizing gyroscopic precession. In further particular, one or more embodiments relate to a haptic device that produces torque using gyroscopic precession to eliminate the need to be fixed or tethered to a grounded surface.

BACKGROUND

Commonplace, in entertainment media, household appliances, and so forth, haptic devices stimulate a person's sense of touch using physical forces to provide feedback. The word “haptics” comes from a Greek root that roughly translates to “touch.” As such, haptic technology is found in a wide range of applications, from vibrator-chips found in cell phones to da Vinci® surgical systems that enable surgeons to perform incisions remotely while receiving touch feedback.

Haptic devices typically fall into two categories: cutaneous and kinesthetic. Cutaneous haptic devices stimulate the human skin, thereby simulating different textures, temperatures, viscosities, or vibrations. Since the surface of the human skin exhibits extreme sensitivity, cutaneous haptic devices do not need to exert large forces on the surface of the skin to simulate a texture; however, cutaneous haptic devices must be extremely accurate to simulate a virtual texture. An example of a cutaneous haptic device is a Wii™ remote console, an entertainment device that uses a vibration chip to alert a user to certain events. While the vibrations do not replicate textures, they send cutaneous feedback to the user.

A kinesthetic haptic device, on the other hand, simulates a spatial touch environment by exerting forces on, for example, a hand. Kinesthetic haptic devices constitute most of the complex haptic devices available today because such kinesthetic haptic devices typically need to exert a wide range of forces and must be preprogrammed to correctly simulate environments. For instance, a Geomagic® Touch™ haptic device sold by Geomagic, Inc. can simulate a simple linear spring using Hooke's Law to generate forces depending on how far a user pushes a stylus away from a predetermined point.

Haptic devices are used in research facilities to conduct human touch experiments or to develop commercial products such as the da Vinci® surgical systems. However, these haptic devices suffer from the same issue, i.e., their need to be grounded on a nonmoving surface. For example, the Geomagic® Touch™ haptic device sold by Geomagic, Inc. has six degrees of freedom, with an ability to generate a maximum force of 3.3 Newtons in the xyz Cartesian plane. FIG. 1 shows a perspective view of the Geomagic® Touch™ haptic device. As shown in FIG. 1, a mounted base holds a swiveling sphere which, in turn, supports a two stage lever arm tipped with a graspable stylus. FIG. 2 is a diagram illustrating the six (6) degrees of freedom of the haptic device shown in FIG. 1. As indicated in FIG. 2, the six degrees of freedom consist of θ₁, θ₂, θ₃, q₂, q₃, and the swiveling stylus. In use, a user grips the stylus shown in FIG. 1 and, depending on software, the user will experience a virtual touch environment. However, like many so-called high-grade haptic devices, the Geomagic® Touch™ haptic device must sit securely on an immovable surface to generate any force.

Because such position-sensing haptic devices lack an ability to operate freely in a user's hands without being bound to a surface, typical commercial haptic devices generate forces using methods that include using cellphone vibration chips or watch clickers. Most consumers treat functional haptic features on gadgets such as the Apple Watch as gimmicks rather than helpful features.

SUMMARY

One or more embodiments solve one or more of the problems or issues set forth above in the Background. In particular, one or more embodiments comprise a haptic device that generates forces/torques without being tethered. In further particular, one or more embodiments comprise a haptic device comprising an oscillating gyroscopic precession system. In further particular, one or more embodiments comprise a portable haptic device. In further particular, one or more embodiments comprise a lightweight portable haptic device. In further particular, one or more embodiments comprise a haptic device that generates forces/torques that are perceivable to a user. In further particular, one or more embodiments comprise a haptic device that generates a range of forces/torques. In further particular, one or more embodiments comprise a haptic device that generates forces/torques in an array of directions.

In particular, one embodiment is a haptic device that comprises: (a) an angular momentum generator apparatus; and (b) a torque generator apparatus coupled to the angular momentum generator apparatus; wherein: (i) the angular momentum generator apparatus is capable of generating a predetermined angular momentum; and (ii) the torque generator apparatus is capable of applying a torque to cause the angular momentum generator apparatus to rotate about a direction perpendicular to the direction of the angular momentum.

BRIEF DESCRIPTION OF THE DRAWING

FIG. 1 is a perspective view of a Geomagic® Touch™ haptic device sold by Geomagic Inc.;

FIG. 2 is a diagram illustrating six (6) degrees of freedom of the haptic device shown in FIG. 1;

FIG. 3 is a schematic diagram of haptic device 1000 that is fabricated in accordance with one or more embodiments;

FIG. 4 is a schematic diagram of haptic device 2000 that is fabricated in accordance with one or more further embodiments;

FIG. 5 shows a full circle that represents a 360° range of rotation of a rotatable structure that supports the gyroscopes comprising haptic device 2000 illustrated in FIG. 4;

FIG. 6 shows a block diagram of various controllers that are used in fabricating one or more embodiments;

FIG. 7 is a schematic diagram of a torque generator apparatus for use in fabricating haptic device 2000 illustrated in FIG. 4; and

FIG. 8 is a schematic diagram of an embodiment of haptic device 2000.

DETAILED DESCRIPTION

Proprioception is the intrinsic human ability of spatial awareness. If given an initial reference point, any person can feel three-dimensional movements in his/her hands caused by an external force. While kinesthesia in smaller joints, such as an arm, rely on cutaneous skin sensations, larger sections of the human body can sense physical forces in the joints alone. Gabriel Robles-De-La-Torre, a neuroscientist and founder of the International Society for Haptics, described this phenomenon as follows: “the brain could be fooled into thinking it's being poked simply by applying lateral forces.” One or more embodiments rely on human proprioception to simulate forces/torques without the need of a grounded haptic device as is the case for the prior art.

FIG. 3 is a schematic diagram of haptic device 1000 that is fabricated in accordance with one or more embodiments. As shown in FIG. 3, haptic device 1000 comprises angular momentum generator apparatus 1010 coupled to torque generator apparatus 1020. In accordance with one or more such embodiments, angular momentum generator apparatus 1010 includes a mechanism that generates a net angular momentum ({right arrow over (H)}) along an axis pointing in the direction of arrow 1030, and torque generator apparatus 1020 includes a mechanism that applies a torque ({right arrow over (τ)}) to angular momentum generator apparatus 1010, which torque causes angular momentum generator apparatus 1010, and thereby, net angular momentum ({right arrow over (H)}), to rotate about an axis pointing in the direction of arrow 1040. In accordance with one or more such embodiments, arrows 1030 and 1040 are orthogonal to each other.

In accordance with one or more such embodiments, torque generator apparatus 1020 includes a torque motor system (not shown in FIG. 3 for ease of understanding) that includes one or more motors coupled, for example and without limitation, by one or more gears, to angular momentum generator apparatus 1010 to cause angular momentum generator apparatus 1010 to rotate about an axis pointing in the direction of arrow 1040.

As further shown in FIG. 3, haptic device 1000 comprises base 1050 which is coupled to torque generator apparatus 1020 and to a handle mechanism (comprised of, for example and without limitation, handles 1060 and 1070). Base 1050 is coupled to torque generator apparatus 1020 (in accordance with one or more embodiments, base 1050 is coupled to torque generator apparatus 1020 so that steady/continuous rotation of angular momentum generator apparatus 1010 about the axis pointing in the direction of arrow 1040 does not cause rotation of base 1050). The handle mechanism may be adapted so that a user may hold it using one hand or, preferably two hands (for example, using handles 1060 and 1070), and thereby hold haptic device 1000. Thus, in accordance with one or more embodiments, a user senses forces/torques, i.e., haptic output, generated by haptic device 1000 through the handle mechanism. Although the handle mechanism is shown in FIG. 3 as being affixed to the bottom of base 1050, embodiments are not restricted thereby. In fact, further embodiments exist where a handle mechanism comprises handles affixed to sides of base 1050 or where a handle mechanism is affixed to torque generator apparatus 1020 (however, in this case, the handle mechanism is coupled to torque generator apparatus 1020 so that steady/continuous rotation of angular momentum generator apparatus 1010 about the axis pointing in the direction of arrow 1040 does not cause a rotation of the handle mechanism).

As will be described below, the magnitude of the torque produced by haptic device 1000 (τ_(haptic output)) is believed to be given by the following (note that the force/torque is felt by the hand(s) of a user holding the handle mechanism, for example and without limitation, comprised of handles 1060 and 1070): τ_(haptic output) =I _(A)*ω_(B)*ω_(C)

where: I_(A) is the moment of inertia of angular momentum generator apparatus 1010 (i.e., the portion thereof that generates {right arrow over (H)}) with respect to an axis pointing in the direction of arrow 1030; ω_(B) is the value of angular velocity, about an axis pointing in the direction of arrow 1040, of angular momentum generator apparatus 1010 (i.e., the portion thereof that generates {right arrow over (H)}); and ω_(C) is the value of angular velocity of angular momentum generator apparatus 1010 (i.e., the portion thereof that generates {right arrow over (H)}) about an axis pointing in the direction of arrow 1030.

In accordance with one or more further embodiments, angular momentum generator apparatus 1010 includes a momentum apparatus (not shown for ease of understanding) such as, for example and without limitation, one or more motor controllers, which momentum apparatus controls the magnitude of net angular momentum {right arrow over (H)}. As will be described below, in accordance with one or more embodiments, the magnitude of net angular momentum {right arrow over (H)} will be controlled with respect to the angle of rotation of {right arrow over (H)} about an axis pointing in the direction of arrow 1040. Further, in accordance with one or more further embodiments, torque generator apparatus 1020 includes a torque apparatus (not shown for ease of understanding) such as, for example and without limitation, a motor controller, which controller is coupled to the torque motor system to control the magnitude of the torque applied by torque generator apparatus 1020 to angular momentum generator apparatus 1010. Still further, in accordance with one or more further embodiments, haptic device 1000 includes a position sensor (not shown for ease of understanding) whose output enables haptic device 1000 to determine the angle of rotation of {right arrow over (H)} about the axis pointing in the direction of arrow 1040. In accordance with one or more embodiments, the position sensor is placed at one or more locations on haptic device 1000 where its output enables the angle of rotation to be determined (for example and with limitation, on angular momentum generator apparatus 1010, torque generator apparatus 1020 or base 1050). In accordance with one or more such embodiments, the position sensor may transfer the location of a mark to a haptic device controller. Still further, in accordance with one or more further embodiments, haptic device 1000 includes a haptic device controller (not shown for ease of understanding) which controls the haptic output by sending commands to one or more of the momentum apparatus and the torque apparatus. For example and without limitation, in accordance with one or more embodiments, the haptic device controller may send a message to the torque apparatus that specifies values of torque. For example and without limitation, in accordance with one or more embodiments, the haptic device controller may send a message to the momentum apparatus that specifies values of net angular momentum.

Several scenarios are described below to enable one to understand better how haptic device 1000 operates. Scenario 1: Let the magnitude of {right arrow over (H)}=0. In this scenario, angular momentum generator apparatus 1010 will rotate about an axis pointing in the direction of arrow 1040, which rotation is caused by torque generator apparatus 1020. As a result, the direction of {right arrow over (H)} will rotate, but because the magnitude of {right arrow over (H)} equals zero, a user would not feel haptic output. In other words, if the magnitude of {right arrow over (H)} were=0 at any angular position while angular momentum generator 1010 rotated about the axis pointing in the direction of arrow 1040, the user would not feel haptic output.

Scenario 2: Let the magnitude of {right arrow over (H)} be non-zero in a small angular region when angular momentum generator 1010 rotates about the axis pointing in the direction of arrow 1040. In this case, the user will feel haptic output through handles 1060 and 1070 as the angular position of {right arrow over (H)} falls within the small angular region. In particular, the user will sense haptic output as a force/torque that will cause handles 1060 and 1070 to rotate about a haptic output line pointing in a direction perpendicular to the directions shown by arrows 1040 and 1030 when the angular position of {right arrow over (H)} is disposed in the small angular region.

Scenario 3: Let the magnitude of {right arrow over (H)} be non-zero in a small angular region when angular momentum generator 1010 rotates about the axis pointing in the direction of arrow 1040. Further, let there be several such small angular regions. In this case, the user would sense haptic output as the angular position of {right arrow over (H)} falls within each of the small angular regions; in addition, the direction of the haptic output would change since the orientation of the haptic output line changes.

In accordance with one or more embodiments, the direction of haptic output of haptic device 1000 can be changed by controlling the generation of {right arrow over (H)}, i.e., by controlling when its magnitude is zero and when it is not. Further, the magnitude of the haptic output can be changed by changing the magnitude of torque applied by torque generator apparatus 1020 and by changing the magnitude of {right arrow over (H)}.

FIG. 4 is a schematic diagram showing portions of haptic device 2000 that is fabricated in accordance with one or more further embodiments. As shown in FIG. 4, haptic device 2000 comprises gyroscopes 2010 and 2020 that are identical and are mounted on a rotatable structure (not shown in FIG. 4 for ease of understanding). As further indicated in FIG. 4, the symmetry axes of gyroscopes 2010 and 2020 are disposed in a line 2050 that lies in the x-y plane. As still further indicated in FIG. 4, gyroscopes 2010 and 2020 are capable of rotating oppositely to each other about their respective axes to enable creation of a net angular momentum along line 2050 joining their axes. Gyroscopes 2010 and 2020 generate a net angular momentum vector in the x-y plane. Motors (not shown for ease of understanding) are coupled to gyroscopes 2010 and 2020, respectively, to cause them to spin, and thereby generate predetermined values of angular momentum. Since the gyroscopes' individual angular momentum directions oppose each other when rotating oppositely, in order to result in an overall net angular momentum, their angular velocities must differ, in other words, one must spin faster than the other. In accordance with one or more embodiments, the motors that cause gyroscopes 2010 and 2020 to spin operate under control of motor controllers (not shown for ease of understanding) which send signals to motors coupled to gyroscopes 2010 and 2020, thereby causing them to spin at predetermined angular velocities to generate predetermined values of net angular momentum. It should be clear to those of ordinary skill in the art that the net angular momentum would equal zero if the angular velocities of gyroscopes 2010 and 2020 were equal and the gyroscopes were directed to rotate in opposite directions.

Lastly, as indicated in FIG. 4, a torque is applied by coupler 2060 (for example and without limitation, an axle, a gear mechanism, and so forth) to the rotatable structure, which rotatable structure, in turn, applies the torque to gyroscopes 2010 and 2020 about an axis in the direction of arrow 2030. As a result, haptic device 2000 generates a net torque in the z direction which provides gyroscopic precession in the directions indicated by arrows 2070 and 2080. In accordance with the law of action and reaction, an equal and oppositely directed torque is generated on base 2090, causing it to rotate. Lastly, handles (not shown in FIG. 4 for ease of understanding) attached to base 2090 enable a user to hold haptic device 2000. In use, the user will sense movement of base 2090 provided by the gyroscopic precession. Further, this rotation will be generated about an axis along a direction perpendicular to arrow 2030 and line 2050.

As used herein, a gyroscope is any object that becomes subject to gyroscopic phenomena. In accordance with one or more embodiments, a gyroscope comprises a spinning wheel. Although one or more embodiments are described utilizing such a gyroscope for ease of understanding, many other types of gyroscope that exist in the art and which are well known to those of ordinary skill in the art are suitable for use in fabricating one or more embodiments. As such, one or more embodiments contemplate the use of one or more other types of gyroscopes such as, for example and without limitation, a MEMS gyroscope, a hemispherical resonator gyroscope (“HRG”), vibrating structure gyroscope (“VSG”), also called a Coriolis vibratory gyroscope (“CVG”), dynamically tuned gyroscope (“DTG”), a ring laser gyroscope, a fiber optic gyroscope, and so forth.

Haptic device 2000 described with respect to FIG. 4 will be used in the following description of how haptic torque is determined for one or more embodiments. For ease of understanding, the following description will: (a) refer to the pair of oppositely rotating gyroscopes as a gyroscope; (b) refer to the common direction of the symmetry axes of the gyroscopes as a gyroscope symmetry axis; and (c) refer to the net angular momentum of the pair of gyroscopes as the gyroscope angular momentum.

Euler angles can be used to describe the orientation of a rigid body in a moving coordinate system with respect to a fixed coordinate system. The fixed (or reference) coordinate system has XYZ axes and the moving coordinate system has xyz axes. The symmetry axis of the body (or gyroscope) is assumed to align with, and rotate about, the z axis of the moving coordinate system. Movement of the xyz axes of the moving coordinate system are measured with respect to the XYZ axes of the fixed (or reference) coordinate system. As such, the Euler angles are defined as follows: (a) θ represents an angle between the Z axis and the z axis (i.e., it is a measure of the tilt of the symmetry axis of the gyroscope); (b) Φ represents an angle of rotation around the z axis (i.e., it is a measure of the spin rotation of the gyroscope); and (c) Ω represents an angle of rotation around the Z axis (i.e., a measure of the precession of the gyroscope).

Let: (a) {right arrow over (Ω)} represent the angular velocity of the xyz moving coordinate system spinning around the Z axis and (b) {right arrow over (ω)} represent the total angular velocity of the gyroscope in the XYZ reference coordinate system. Referring to haptic device 2000 shown in FIG. 4, θ equals 90° as the gyroscope is oriented a quarter of a circle from the direction of torque, shown by arrow 2030. Also, in accordance with one or more embodiments, let the net angular velocity of the gyroscope be constant (i.e., the angular velocity of the gyroscope is the spin velocity of the gyroscope about its symmetry axis or {dot over (Φ)}). Thus, the time derivative of the gyroscope's angular velocity about the symmetry axis, i.e., the time derivative of the angular velocity about the z axis, equals 0. Thus, θ=90°; {umlaut over (Φ)}=0  (1)

The torque ({right arrow over (τ)}) applied to the gyroscope equals the time derivative of the angular momentum of the gyroscope {right arrow over (H)}. Using Coriolis' Theorem, the angular momentum can be expressed as the sum of two terms: (a) the first term is the time derivative of the component of the angular momentum along the new axis (i.e., the z axis); and (b) the second term is the cross product of the angular velocity of the moving coordinate system around the reference coordinate system (i.e., the angular velocity of the xyz axes spinning around the XYZ axes) and the angular momentum of the gyroscope.

$\begin{matrix} {\overset{\rightharpoonup}{\tau} = {\overset{.}{\overset{\rightharpoonup}{H}} = {{{\frac{d}{dt}{\overset{\rightharpoonup}{H}}_{\Phi}} + {\overset{\rightharpoonup}{\Omega} \times \overset{\rightharpoonup}{H}}} = {\overset{\rightharpoonup}{\Omega} \times \overset{\rightharpoonup}{H}}}}} & (2) \end{matrix}$

As set forth in eqn. (1), the spin angular velocity of the gyroscope does not change, and as a result, the first term in eqn. (2) equals 0. Next, {right arrow over (Ω)} can be expressed as the vector sum of its components with respect to the xyz moving axes. {right arrow over (Ω)}=−Ω sin θ{right arrow over (ι)}+Ω cos θ{right arrow over (k)}  (3)

The angular velocity of the gyroscope in the XYZ reference system is the sum of their spin angular velocity and the angular velocity of the xyz axes around the XYZ reference system. {right arrow over (ω)}={dot over (Φ)}+{right arrow over (Ω)}=−Ω sin θ{right arrow over (ι)}+({dot over (Φ)}+Ω cos θ){right arrow over (k)}  (4)

Using a moment of inertia tensor (assuming the body to be symmetric), the angular momentum of the gyroscope ({right arrow over (H)}) can be expressed as a dot product of the moment of inertia tensor and the angular velocity of the gyroscopes.

$\begin{matrix} {\overset{\rightharpoonup}{H} = {{\lbrack I\rbrack_{3 \times 3} \cdot \overset{\rightharpoonup}{\omega}} = {{\begin{bmatrix} I_{xx} & 0 & 0 \\ 0 & I_{yy} & 0 \\ 0 & 0 & I_{zz} \end{bmatrix} \cdot \overset{\rightharpoonup}{\omega}} = {{{- I_{xx}}\Omega\;\sin\;\theta\overset{\rightharpoonup}{\iota}} + {{I_{zz}\left( {\overset{.}{\Phi} + {\Omega\;\cos\;\theta}} \right)}\overset{\rightharpoonup}{k}}}}}} & (5) \end{matrix}$

The values derived for {right arrow over (Ω)} and {right arrow over (H)} can used in eqn. (2), to yield the cross product:

$\begin{matrix} \begin{matrix} {\overset{\rightharpoonup}{\tau} = {\left( {{{- \Omega}\;\sin\;\theta\overset{\rightharpoonup}{\iota}} + {\Omega\;\cos\;\theta\overset{\rightharpoonup}{k}}} \right) \times \left( {{{- I_{xx}}\Omega\;\sin\;\theta\overset{\rightharpoonup}{\iota}} + {{I_{zz}\left( {\overset{.}{\Phi} + {\Omega\;\cos\;\theta}} \right)}\overset{\rightharpoonup}{k}}} \right)}} \\ {= \begin{bmatrix} i & j & k \\ {{- \Omega}\;\sin\;\theta\overset{\rightharpoonup}{\iota}} & 0 & {\Omega\;\cos\;\theta\overset{\rightharpoonup}{k}} \\ {{- I_{xx}}\Omega\;\sin\;\theta\overset{\rightharpoonup}{\iota}} & 0 & {{I_{zz}\left( {\overset{.}{\Phi} + {\Omega\;\cos\;\theta}} \right)}\overset{\rightharpoonup}{k}} \end{bmatrix}} \end{matrix} & (6) \end{matrix}$

Carrying out the cross product relates the torque along the y axis to the precession rate and the angular momentum of the gyroscope (since as set forth above from eqn. (1) that θ is equal to 90°, the rightmost term cancels out).

$\begin{matrix} {\tau_{y} = {{\Omega\overset{.}{\Phi}\sin\;{\theta\left\lbrack {I_{zz} + {\left( {I_{zz} - I_{xx}} \right)\frac{\Omega}{\overset{.}{\Phi}}\cos\;\theta}} \right\rbrack}} = {\Omega\overset{.}{\Phi}I_{zz}}}} & (7) \end{matrix}$

The terms for torque, precession speed, and angular momentum of the gyroscope can be rewritten in terms of haptic kinematics. τ_(y)=τ; Ω=ω_(precession) ; I _(zz){dot over (Φ)}=H  (8)

Solving for the precession rate yields the ratio between the torque exerted on the gyroscope and the angular momentum of the gyroscope. ω_(precession) =τ/H  (9)

To determine the magnitude of the torque felt by the user, the principle of conservation of power in any mechanical system is used. This principle states that the rate at which a motor that exerts torque on a system provides kinetic energy is equivalent to the rate at which the system provides kinetic energy as an output. P _(motor) =P _(output)  (10)

The power of a rotational motor can be expressed as the product of its torque and its angular speed. Thus: τ_(motor)*ω_(motor)=τ_(feel)*ω_(precession)  (11)

Then, using eqn. (9), the ratio between torque of the motor and the angular momentum of the gyroscope is substituted to replace the rate of precession.

$\begin{matrix} {{\tau_{motor}*\omega_{motor}} = {\tau_{feel}*\frac{\tau_{motor}}{H_{gyroscope}}}} & (12) \end{matrix}$

Finally, the torque felt by the user is obtained as the product of the angular speed of the motor and the angular momentum of the gyroscope. τ_(feel)=ω_(motor) *H _(gyroscope) =I _(gyroscope)*ω_(motor)*ω_(gyroscope)  (13)

As a result, the output torque of inventive haptic device 2000 is directly proportional to both the angular speed of the driving motor and the angular speed of the gyroscope.

For a predetermined value of angle of rotation of a rotatable structure that supports gyroscopes 2010 and 2020 and value of net angular momentum of the gyroscope, as described above, τ_(feel) is developed which causes haptic device 2000 to rotate about an axis perpendicular to the direction of angular momentum of the gyroscope and the direction of arrow 2030. Thus, as the rotatable structure rotates, and thereby, the direction of angular momentum changes, so too does the orientation of the line about which the haptic output torque acts.

The following describes how haptic device 2000 operates in the use. Assume that the rotatable structure of haptic device 2000 is rotated in the x-y plane (refer to FIG. 4) from a first position to a second position. If the net angular momentum produced by gyroscopes 2010 and 2020 is non-zero at the first position, haptic device 2000 will rotate about an axis perpendicular to line 2050 and arrow 2030 at the first position. Likewise, if the net angular momentum produced by gyroscopes 2010 and 2020 is non-zero at the second position, haptic device 2000 will rotate about an axis perpendicular to line 2050 and arrow 2030 at the second position. Further, there will be no such rotation at the first or second position if the net angular momentum is zero at either of these positions. Thus, in accordance with the one or more embodiments, direction of the force/torque produced by haptic device 2000 can be provided over a range of positions by controlling the net angular momentum provided by gyroscopes 2010 and 2020 at the positions. In other words, and for example, the movement of the handles can be restricted to occur at a predetermined angle in the rotation of the rotatable structure by generating a net angular momentum only at the predetermined angle. This is accomplished in the manner described below.

In accordance with one or more embodiments, for the gyroscopes to precess about a single, predetermined axis, a net angular momentum is generated in a small angular sector (ΔΘ) and, during the rest of the rotation phase of the rotatable structure, the net angular momentum is maintained at zero.

FIG. 5 shows a full circle that represents a range of rotation (for example, a 360° range of rotation) of the rotatable structure that supports the gyroscopes comprising haptic device 2000 illustrated in FIG. 4 (in other words, the range of rotation of the line through the symmetry axes of the gyroscopes). Assume non-zero haptic output is desired in one angular section of the range of rotation. In this case, FIG. 5 indicates angular sector 3000 to represent an angular sector (ΔΘ) within which gyroscopes 2010 and 2020 are driven to provide a net angular momentum. At all other angles, gyroscopes 2010 and 2020 are driven, by motors (not shown for ease of understanding) in response to a one or more motor controllers (not shown for ease of understanding), to spin at the same magnitude of speed in opposite directions, thereby each canceling the other's angular momentum. Thus, from time t1 to time t2, the gyroscopes are accelerated at different rates to provide a different angular momentum for each (thereby creating a non-zero net angular momentum). Then, from time t2 to time t3, the gyroscopes are decelerated at different rates to provide an equal angular momentum for each (thereby creating zero net angular momentum). Alternatively, from time t1 to time t2, one gyroscope is accelerated and the other decelerated, for example, at the same rate, to provide a different angular momentum for each (thereby creating a non-zero net angular momentum). Then, from time t2 to time t3, the one gyroscope is decelerated and the other gyroscope is accelerated, for example, at the same rate, to provide an equal angular momentum for each (thereby creating zero net angular momentum).

If haptic device 2000 were to use one gyroscope to enable haptic output only in angular sector 3000, that gyroscope would need to completely lack any angular speed until it would reach angular sector 3000 indicated in FIG. 5, at which point it would need to accelerate and decelerate between times t3 and t1. However, if the time between t3 and t1 is very short, for example, on the order of milliseconds, the use of two oppositely spinning gyroscopes is preferred because they would not need to accelerate as rapidly.

FIG. 6 shows a block diagram of various controllers and motors that are used in fabricating one or more embodiments. Assume for purposes of the following description that the angular momentum generator apparatus comprises two oppositely rotating gyroscopes. As shown in FIG. 6, haptic device controller 6000 receives input specifying a direction and a magnitude for haptic output. As further shown in FIG. 6, position sensor 6010 detects an angular position of the angular momentum generator apparatus as it rotates under the influence of the torque applied thereto by the torque generator apparatus. Alternatively, position sensor 6010 detects the position of, for example and without limitation, a location from which the angular position of the angular momentum generator apparatus can be determined in accordance with any one of a number of methods that are well known to those of ordinary skill in the art. In accordance with one or more such embodiments, position sensor 6010 may be fabricated using any one of a number such devices that are well known to those of ordinary skill in the art. As further shown in FIG. 6, in response to the input, haptic device controller 6000 sends signals to motor controllers 6060 and 6100, which motor controllers 6060 and 6100, in turn, send signals to motors 6070 and 6110, respectively, to cause them to drive gyroscopes 6080 and 6120, respectively, (in the manner discussed above with respect to FIG. 5) to produce a non-zero net angular momentum in a particular angular sector (the angular sector is determined in the manner described below), and to produce a net angular momentum equal to zero otherwise. It should be understood that, in accordance with one or more embodiments, the functionality provided by haptic device controller 6000 and motor controllers 6060 and 6100 may be carried out by a single controller; namely, haptic device controller 6000. In addition, in accordance with one or more embodiments, motors 6070 and 6110 may be coupled to gyroscopes 6080 and 6120, respectively, using one or more gears (not shown for ease of understanding).

As further shown in FIG. 6, haptic device controller 6000 sends a signal to motor controller 6020, which motor controller 6020, in turn, sends a signal to motor 6030 to cause it to produce a particular value of angular velocity (the value of angular velocity is determined in the manner described below). It should be understood that, in accordance with one or more embodiments, the functions provided by haptic device controller 6000 and motor controller 6020 may be carried out by a single controller; namely, haptic device controller 6000. In addition, in accordance with one or more embodiments, motor 6030 may be coupled to angular momentum generator apparatus using one or more gears (not shown for ease of understanding).

In accordance with one or more embodiments, haptic device controller 6000, motor controller 6020, and motor controllers 6060 and 6100 may be fabricated using any one of a number of microcontrollers that are well known to those of ordinary skill in the art. In addition, in accordance with one or more further embodiments described below with respect to FIG. 8, haptic device controller 6000, motor controller 6020, motor controllers 6060 and 6100, and position sensor 6010 may be positioned on a rigid frame that also carries motors 6070, 6110 and 6030; gyroscopes 6080 and 6120; and a power supply used to supply power to the various components.

Haptic device 2000 may be configured in accordance with one or more embodiments by performing the following steps. (1) Determine empirically (i.e., by measurement) the angular velocity of the angular momentum generator apparatus as a function, for example and without limitation, of input power applied to motor 6030 of the torque generator apparatus (ω_(motor)), and save the results in haptic device controller 6000 as data set 1 (“DS1”). (2) Then, determine empirically the moment of inertia of gyroscopes 6080 and 6120 about their symmetry axes (I_(gyroscope)) using any one of a number of methods that are well known to those of ordinary skill in the art and save the results in haptic device controller 6000 as data set 2 (“DS2”). (3) Then, determine empirically the angular velocity of gyroscope 6080 (ω_(gyroscope)) about its symmetry axis as a function, for example and without limitation, of input power to motor 6070 and the angular velocity of gyroscope 6120 about its symmetry axis as a function, for example and without limitation, of input power to motor 6110, and save the results in haptic device controller 6000 as data set 3 (“DS3”). (4) Then, determine empirically the angular acceleration of gyroscope 6080 (α) about its symmetry axis as a function, for example, of input power to motor 6070 and the angular acceleration of gyroscope 6120 about its symmetry axis as a function, for example and without limitation, of input power to motor 6110, and save the results in haptic device controller 6000 as data set 4 (“DS4”). For ease of understanding, the following assumes that gyroscopes 6080 and 6120 are identical, motors 6070 and 6110 are identical, and that motor controllers 6060 and 6100 are identical. However, in light of the explanation set forth below, it will be clear to one of ordinary skill in the art that further embodiments exist wherein one or more of the above apparatuses are not identical, and it will be clear to one of ordinary skill in the art how to fabricate such further embodiments in light of the description herein.

As discussed above with reference to FIG. 5, let the angular velocity of gyroscope 6080 accelerate from time t1 to time (t1+t3)/2 at an acceleration rate α, and then decelerate from time (t1+t3)/2 to time t3 at a deceleration rate α, and let gyroscope 6120 do the opposite. Then, the maximum difference in angular velocity will be α(t3−t1) where t3−t1=δ is the extent of the angular sector (i.e., δt represents the time over which haptic output will be confined to a particular direction). For example, δt may be set to a pre-configured value stored as data set 5 (“DS5”) so that the particular direction may be restricted to a predetermined amount. Thus eqn. (13) above can be rewritten as: τ_(feel)=ω_(motor) *I _(gyroscope) *α*δt  (14)

As one can readily appreciate from the above, the range of magnitude of the haptic output (τ_(feel)) will depend on the range of values of the parameters in eqn. (14), which parameters are determined by the gyroscopes and motors used to fabricate embodiments.

Now, in accordance with one or more embodiments, in response to the input specifying a direction and a magnitude for haptic output, haptic device controller 6000 uses data sets DS1, DS2, DS4, and DS5 to determine whether the specified magnitude can be produced using any of the achievable values of ω_(motor) specified in DS1, using the value of I_(gyroscope) specified in DS2, using any of the achievable values of a specified in DS4, and using the value of & specified in DS5. In accordance with one or more embodiments, if the product of the parameters (using achievable parameters) from the right hand side of eqn. (14) exceeds the specified magnitude, then one or more of the values chosen for the achievable parameters may be reduced in accordance with a predetermined design choice. For example, the value of ω_(motor) may be reduced by a predetermined amount to reduce the power supplied to motor 6030, and/or the value of a may be reduced by a predetermined amount to reduce the power supplied to motors 6070 and 6110. Then, using data sets DS1 and DS4, haptic device controller 6000 determines the power to be supplied by motors 6070, 6110, 6030 to produce the values of ω_(motor) and a identified above. Next, using data set DS4, haptic device controller 6000 determines the power to be supplied to motors 6070 and 6110 to produce a value of ω_(gyroscope) when gyroscopes 6080 and 6120 produce no net angular momentum along their joint symmetry axis. Such a value may of ω_(gyroscope) may be a predetermined design choice. Next, haptic device controller 6000 determines the position of t1 (referring to FIG. 5) in order to provide haptic output in the specified direction. Next, haptic device controller 6000 receives input from position sensor 6010 which, for example and without limitation, detects a predetermined position of rotation of the angular momentum generator apparatus as it rotates under the influence of the torque applied thereto by motor 6030, and the time of such detection. Next, haptic device controller 6000 determines, given time t1 and the rate of rotation (ω_(motor)), the time at which to start to change the net angular momentum provided by gyroscopes 6080 and 6120. Next, haptic device controller 6000 applies the signals described above with respect to FIG. 4 using the magnitudes and timing in accordance with the description above.

Components used to fabricate one or more embodiments include: a VEX Cortex microcontroller, VEX Robotics metal, sensors, and motors with integrated motor encoder sensors. Programming of the VEX Cortex microcontroller necessitated use of a RobotC programming platform. VEX high strength actuators with a gear box having a gear ratio of 1:9 gear ratio (two 1:3 gears in series) were used to fabricate gyroscopes. A first embodiment consisted of a single gyroscope (driven by a motor) mounted onto a stick-like rotational structure. Weights were arranged to balance the weight around the center of the device so that torque generator apparatus could be attached thereat. A second embodiment added a second gyroscope (driven by a second motor) to the rotational structure, the second gyroscope was mounted opposite to the already established gyroscope to help balance the device's center of mass towards the midpoint of the rotational structure (i.e., at the point of rotation of the two gyroscopes). Then the rotational structure was attached to a third motor via a simple axle. A third embodiment included the second embodiment which further included a rotation mechanism where the third motor could rest on top of the rotational structure while also spinning it.

FIG. 7 is a schematic diagram of a torque generator apparatus for use in fabricating haptic device 2000 illustrated in FIG. 4 As shown in FIG. 7: (a) motor 6030 is affixed to rotatable structure 7000 (i.e., rigid frame 7000); (b) motor 6030 is coupled to stationary gear 7020 and pivot gear 7030; (c) stationary gear 7020 is affixed to base 7040; and (d) pivot gear 7030 is coupled to stationary gear 7020 (i.e., pivot gear 7030 contacts stationary gear 7020 at all times). In operation, motor 6030 drives pivot gear 7020 and, as a result, rotatable structure 7000 is driven into rotation (it is analogous to how a rower moves a canoe).

FIG. 8 is a schematic diagram of an embodiment of haptic device 2000. As shown in FIG. 8, haptic device 2000 comprises balanced rigid frame 7000 upon which gyroscopes 6080 and 6120 (comprised of wheels) are mounted. As further shown in FIG. 8: (a) motor controller 6060 is connected to motor 6070, which motor 6070 is coupled by one or more gears 6075 to gyroscope 6080 (all of which are mounted on rigid frame 7000); (b) motor controller 6100 is connected to motor 6110, which motor 6110 is coupled by one or more gears 6115 to gyroscope 6120 (all of which are mounted on rigid frame 7000); (c) motor 6030 is mounted on rigid frame 7000 (motor 6030 causes rigid frame 7000 to rotate in the manner described above with reference to FIG. 7); (d) motor 6030 is coupled to stationary gear 7020 and pivot gear 7030; (e) stationary gear 7020 is affixed to base 7040 and pivot gear 7030 is coupled to stationary gear 7020; (f) handles 7051 and 7052 are affixed to base 7040; and (g) power supply 7010 (for example and without limitation, a rechargeable battery) is affixed to base 7040 and is electrically coupled to haptic controller 6000, motor controllers 6060, and 6100, position sensor 6010, and motors 6070, 6110, and 6030.

Although one or more embodiments have been described as using one and two gyroscopes, further embodiments exist which comprise the use of more gyroscopes.

Embodiments of the present invention described above are exemplary. As such, many changes and modifications may be made to the description set forth above by those of ordinary skill in the art while remaining within the scope of the invention. For example, in alternative embodiments: (a) the material might be made from relatively light materials such as, for example and without limitation, plastics to enhance user comfort; (b) the motors might be relatively small, light, and possess a relatively large RPM and maximum torque so as to generate a relative large range of induced torques; (c) the haptic device ought to be substantially balanced; (d) the mounted gyroscopes can be a chip-like wafer with two wheels on either side; (e) the controller would include software to generate different patterns of torque; (f) the moment of inertia of the wheels might be increased without increasing weight by spreading the mass of the object towards its perimeter; and (g) the opposing gyroscopes would be mounted inside a three axis gimbal that would rotate the user handle in all three axes of rotation. In addition, materials, methods, and mechanisms suitable for fabricating embodiments of the present invention have been described above by providing specific, non-limiting examples and/or by relying on the knowledge of one of ordinary skill in the art. Materials, methods, and mechanisms suitable for fabricating various embodiments or portions of various embodiments of the present invention described above have not been repeated, for sake of brevity, wherever it should be well understood by those of ordinary skill in the art that the various embodiments or portions of the various embodiments could be fabricated utilizing the same or similar previously described materials, methods or mechanisms. As such, the scope of the invention should be determined with reference to the appended claims along with their full scope of equivalents. 

What is claimed is:
 1. A haptic device comprises: a first gyroscope having a first axis and a second gyroscope having a second axis wherein the first gyroscope and the second gyroscope are affixed to a frame so the first and second axes are aligned, which gyroscopes are adapted to generate predetermined values of combined angular momentum in a first direction with respect to the aligned axes of the gyroscopes; a torque generator apparatus coupled to the frame, which torque generator apparatus is adapted to apply a torque to the frame to cause the first and second gyroscopes to rotate about a second direction which is perpendicular to the first direction; and a base coupled to the torque generator apparatus so that rotation of the gyroscopes caused by the torque generator apparatus does not cause rotation of the base.
 2. The haptic device of claim 1 which further comprises: a controller and a position sensor; wherein: the torque generator apparatus comprises a torque generator motor coupled to the frame; the position sensor is coupled to the controller; the controller is coupled to the first and second gyroscopes and is adapted to cause them to generate the predetermined values of combined angular momentum; and the controller is coupled to the torque generator motor and is adapted to cause the torque generator motor to apply the torque to the frame.
 3. The haptic device of claim 2 wherein the controller is adapted to cause the first and second gyroscopes to generate a first angular momentum and a second angular momentum, respectively, so that the magnitude of the combined angular momentum is zero during at least a portion of the rotation about the second direction and so that the magnitude of the combined angular momentum is non-zero during at least another portion of the rotation about the second direction.
 4. The haptic device of claim 3 wherein the controller is adapted to cause the first angular momentum and the second angular momentum to have the same magnitude and point in opposite directions so that the magnitude of the combined angular momentum is zero.
 5. The haptic device of claim 3 wherein the controller is adapted to cause the first angular momentum and the second angular momentum to have different magnitudes and point in opposite directions so that the magnitude of the combined angular momentum is non-zero.
 6. The haptic device of claim 3 wherein the first and second gyroscopes are the same type of gyroscope.
 7. The haptic device of claim 2 further comprises: the first gyroscope comprises a first spinning wheel and the second gyroscope comprises a second spinning wheel; a first motor coupled to the first gyroscope and a second motor coupled to the second gyroscope; wherein: the controller is coupled to the first motor and the second motor; and the controller is adapted: (a) to cause the first motor to cause the first spinning wheel to rotate to generate the first angular momentum and (b) to cause the second motor to cause the second spinning wheel to rotate to generate the second angular momentum.
 8. The haptic device of claim 7 wherein: the controller is adapted to cause the first spinning wheel and the second spinning wheel to rotate in opposite directions and at the same angular velocity so that the magnitude of the combined angular momentum is zero; and the controller is adapted to cause the first spinning wheel and the second spinning wheel to rotate in opposite directions and at different angular velocities so that the magnitude of the combined angular momentum is non-zero.
 9. The haptic device of claim 1 which further comprises a handle mechanism coupled to the base.
 10. The haptic device of claim 9 wherein the handle mechanism is adapted to be held using two hands.
 11. The haptic device of claim 10 wherein the handle mechanism comprises two handles. 